[組織ポリシー]Vertex AI Workbench ユーザー管理のノートブックとインスタンス作成時に自動定期アップグレードを強制させるポリシーについて調査してみた

[組織ポリシー]Vertex AI Workbench ユーザー管理のノートブックとインスタンス作成時に自動定期アップグレードを強制させるポリシーについて調査してみた

Vertex AIの自動アップグレードに関する組織ポリシーについて調査してみました。実際に設定した場合の挙動に関しても検証しています。
Clock Icon2024.07.16

概要

新しい Vertex AI Workbench ユーザー管理のノートブックとインスタンスでは、自動定期アップグレードがひつようです。という組織ポリシーがあります。このポリシーはVertex AI インスタンス(ノートブック)の自動アップグレード設定を強制するものです。

組織ポリシー名 内容 制約
新しい Vertex AI Workbench ユーザー管理のノートブックとインスタンスでは、自動定期アップグレードがひつようです。 このブール型制約を適用する場合は、新しく作成された Vertex AI Workbench ユーザー管理のノートブックとインスタンスに自動アップグレード スケジュールを設定する必要があります。自動アップグレード スケジュールを設定するには、「notebook-upgrade-schedule」メタデータ フラグを使用して、自動アップグレードの cron スケジュールを指定します。例:「--metadata=notebook-upgrade-schedule="00 19 * * MON"」。 constraints/ainotebooks.requireAutoUpgradeSchedule

※引用:https://cloud.google.com/resource-manager/docs/organization-policy/org-policy-constraints?hl=ja#constraints-for-specific-services

自動アップグレードでアップグレードされる対象コンポーネントとアップグレード時の動作に関してまとめた表は以下となります(リファレンスより転載)

コンポーネント アップグレード結果
機械学習のフレームワーク アップグレードされます
機械学習データ 保持されます
プリインストールされた依存関係 アップグレードされます
ユーザーがインストールしたライブラリ デフォルトでは、再インストールする必要があります(ユーザーがインストールしたライブラリを参照)。
/home/jupyter ディレクトリ内のローカル ファイル 保持されます
他の /home/ ディレクトリ内のローカル ファイル 保持されません
プリインストールされたオペレーティング システム パッケージ アップグレードされます
ユーザーがインストールしたオペレーティング システム パッケージ 保持されません
GPU ドライバ アップグレードされます
ノートブック 保持されます
ユーザー構成 保持されます

自動でアップグレードされた場合、思わぬ結果を招くこともあると思いますので本ポリシーや自動アップグレード設定をする際は十分検討の上実施ください。

調査結果

組織ポリシーの設定値

本ポリシー新しい Vertex AI Workbench ユーザー管理のノートブックとインスタンスでは、自動定期アップグレードがひつようです。の設定可能な値は以下です。

設定値 動作
オン インスタンス作成時に自動アップグレード設定が必須
オフ インスタンス作成時の自動アップグレード設定は任意(デフォルト)

設定した場合の動作

GUI(Vertex AIコンソール)、gcloudコマンド(Cloud Shellなど)でそれぞれ動作が異なります。

種別 動作
GUI 【環境の自動アップグレード】がグレーアウトしていてチェックボックスのチェックを解除できない。デフォルトで自動アップグレード設定がされている
gcloudコマンド 自動アップグレードのスケジューリングをしないとインスタンス作成できない

GUI(Vertex AIコンソール)

本ポリシーを有効化後にインスタンス作成をすると、以下のようになります。
スクリーンショット 2024-07-16 20.28.36

自動アップグレード設定に関して、グレーアウトしていて設定変更することができません。デフォルトでスケジューラ設定がされていますがスケジュール設定はインスタンス作成後に変更することができました。
スクリーンショット 2024-07-16 20.51.38
ただ、変更できるのはスケジュールのみで自動アップグレードをオフにすることはできません。

gcloudコマンド

インスタンス作成をする際に自動アップグレード設定をしない場合は組織ポリシー違反のエラーが発生してインスタンス作成をすることができません。

$ gcloud workbench instances create test-instance  --location=asia-northeast1-a --vm-image-project=test-project --vm-image-name=ubuntu-2204-jammy-v20240701  --machine-type=e2-standard-2

ERROR: (gcloud.workbench.instances.create) FAILED_PRECONDITION: Constraint constraints/ainotebooks.requireAutoUpgradeSchedule violated for 'projects/xxxx' attempting to set 'notebook-upgrade-schedule' to ''. For details, please contact your org policy administrator.
- '@type': type.googleapis.com/google.rpc.PreconditionFailure
  violations:
  - description: Constraint constraints/ainotebooks.requireAutoUpgradeSchedule violated
      for 'projects/xxxx' attempting to set 'notebook-upgrade-schedule'
      to ''. For details, please contact your org policy administrator.
    subject: orgpolicy:notebook-upgrade-schedule
    type: constraints/ainotebooks.requireAutoUpgradeSchedule
- '@type': type.googleapis.com/google.rpc.RequestInfo

インスタンス作成するためには--metadata=notebook-upgrade-scheduleを用いてアップグレードのスケジュール設定をする必要があります(cron形式で記述するようです)。例えば以下のような形です。

--metadata=notebook-upgrade-schedule="00 19 * * MON"

まとめ

本記事ではVertex AIインスタンス作成時の自動アップグレードに関する組織ポリシーを調査してみました。 本ポリシーを有効にすると、インスタンスの自動アップグレードが確実になるのでセキュリティ面では望ましい状態になると思われますが、一方で新しいバージョンへの自動アップグレード時に既存のシステムやコードと互換性がない場合、予期せぬ問題が発生する可能性があります。このため、事前に十分なテストが必要です。
また、特定のバージョンに依存したカスタマイズがある場合、自動アップグレードによりこれらが無効になるリスクもあります。
本ポリシー(機能)を有効化する場合は十分に検討、テストの仕組みを整えてからが良いと個人的には考えます。
本記事が組織ポリシーを設定する上で参考になっていればとても嬉しいです。それではまた。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.